package cn.clq.ymcc.service;

import cn.clq.ymcc.domain.Course;
import cn.clq.ymcc.dto.CourseDto;
import cn.clq.ymcc.vo.CourseDetailInfoVo;
import cn.clq.ymcc.vo.CourseOrderVo;
import com.baomidou.mybatisplus.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author stone.chen
 * @since 2022-07-21
 */
public interface ICourseService extends IService<Course> {
    /**
     * @description: 保存课程
     * @param: dto
     * @return: void
     * @author clqlongbao
     * @date: 2022/7/22 0:29
     */
    void save(CourseDto dto);
    /**
     * @description: 课程发布
     * @param: courseId
     * @return: void
     * @author clqlongbao
     * @date: 2022/7/24 15:01
     */
    void onLineCourse(Long courseId);

    /**
     * @description: 课程下架
     * @param: courseId
     * @return: void
     * @author clqlongbao
     * @date: 2022/7/25 16:46
     */
    void offLineCourse(Long courseId);


    /**
     * @description:  课程详情页面查询课程详情
     * @param: courseId
     * @return: cn.clq.ymcc.vo.CourseDetailInfoVo
     * @author clqlongbao
     * @date: 2022/7/27 18:11
     */
    CourseDetailInfoVo searchCourseDetail(Long courseId);
    /**
     * @description: 查询课程结算界面的所需数据
     * @param: courseIds
     * @return: cn.clq.ymcc.result.JSONResult
     * @author clqlongbao
     * @date: 2022/7/29 11:02
     */
    CourseOrderVo searchCourseOrderInfo(String courseIds);
}
